﻿/*
7-38 数列求和-加强版 (20 分)
给定某数字A（1≤A≤9）以及非负整数N（0≤N≤100000），求数列之和S=A+AA+AAA+⋯+AA⋯A（N个A）。例如A=1, N=3时，S=1+11+111=123。

输入格式：
输入数字A与非负整数N。

输出格式：
输出其N项数列之和S的值。

输入样例：
1 3
输出样例：
123
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef int IntType;

char sums[2000001] = {};

static void mysum(IntType a, IntType n) {
	IntType remain = 0;
	for (IntType i = n; i >0; i--) {
		remain = i * a + remain;
		sums[i] = remain % 10;
		remain /= 10;
	}
	if (remain != 0) printf("%d", remain);
	for (int i = 1; i <= n; i++)
		printf("%d",sums[i]);
	printf("\n");
}

int main() {
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/zju_C_Basic/data/7.38.txt", "r", stdin);
	int n, a;
	scanf("%d %d", &a, &n);
	if (n == 0) {
		printf("0\n");
	}
	else
		mysum(a, n);
	return 0;
}